#pragma once

#include "bass.h"
#include "framework.h"
#include <map>
#include <string>

struct Sample
{
	HSAMPLE sample;
	HCHANNEL channel;
};

class SoundManager
{
public:
	std::map<std::string, HSTREAM > Streams;
	std::map<std::string, Sample > Samples;

	static SoundManager * soundManager;
	
	static SoundManager * getSoundManager();

	static void loadSound(std::string _file, std::string _alias, int _type, double _length);
	static void playSound(std::string _alias,int _type);
	static void stopSound(std::string _alias,int _type);
	Sample getSampleID(std::string _alias);
	void setSamplerChannel(std::string _alias, HCHANNEL _channel);
private:
	SoundManager(void);
	~SoundManager(void);
};
